1. Technical Field
The present invention relates in general to improved computer systems, and in particular to an improved computer system which supports topographical interfacing. Still more particularly, the present invention relates to an improved computer system which supports platform and application independent topographical interfacing utilizing a topographically aware operating system (OS).
2. Description of the Prior Art
Data processing systems typically rely on at least one if not multiple peripheral devices in order to receive inputs and/or transmit outputs to provide human-computer interactions. Presently, typical display devices may include, for example, a display monitor, an overhead projection monitor, or other alternate device by which data may be displayed in a visual manner from a data processing system. These display devices may be utilized to convey a wide range of information; however they are typically limited to conveying information in two-dimension (2D). While graphical achievements have been made in order to display a seemingly three-dimensional (3D) object, the three-dimensional world is still limited to two-dimensional visual representation with typical display devices.
Various methods have been presented to provide either three dimensional and/or topographical interfacing. These methods are typically limited in that they exist within closed systems and only provide support for individual topographical attributes. U.S. Pat. No. 5,701,444, for example, provides a three dimensional graphics subsystem with enhanced support for graphical user interface. The subsystem is a rendering subsystem which is able to handle both 2D and 3D rendering tasks. Only the 2D rendering is controlled by the operating system (OS). The 3D rendering is loaded into a pipeline and only one type of rendering may be applied at a time. A special hardware card is utilized to render the 3D.
Two other closed systems designed specifically for computer aided design (CAD) applications are U.S. Pat. Nos. 5,903,270 and 4,888,713. The former discloses a simultaneous display of two windowsxe2x80x94one in three dimension and the other in two-dimensionxe2x80x94and permits for placing texture information on the objects utilizing a projection method. The latter teaches providing surface detail to graphic images of apparel., i.e. a texture mapping technique.
U.S. Pat. No. 5,903,278 discloses a color encoding of objects to convey embedded information about the image utilizing primitives within a graphics library. U.S. Pat. No. 5,864,343 discloses 3D motion effects in a 2D GUI, utilizing a relative depth value. This permits the objects further away to move slower than the objects which are closer and thus introduce effects of realism to the 2D graphics computer system. A library of predetermined 2D images and sounds and graphics toolkit routines is utilized. U.S. Pat. No. 5,905,503 discloses a rendering application which utilizes a database of light source (illumination) information to render the images. U.S. Pat. No. 5,835,096 discloses a rendering system using 3D texture-processing hardware for accelerated 2D rendering. This method utilizes a separate texture sub-processor optimized for texturing operations in a 3D mode.
U.S. Pat. No. 5,880,733 discloses artificial depth perspective, i.e. a 3D perspective. The user utilizes buttons provided within the application window to transform a typical 2D window into a 3D perspective, virtual work space. This invention provides only a 3D display even when an item is not 3D. The control buttons control the position of the display windows on the various planes of the display system and re-sizes the sides of the window area.
Finally, U.S. Pat. No. 5,729,671 discloses a rendering of a 3D surface Image on a 2D display using an object oriented framework. The framework utilizes vertex data to create the third dimension. The process uses triangles to form a surface on the attached display after first receiving the plurality of vertices into memory and storing them.
Several major limitations exist in these prior attempts to provide some 3D or topographical interface. As previously mentioned, they apply primarily to closed systems or platform or application dependent systems. Alternately, they only support specific limited topographical elements/attributes.
Present enterprise native applications depend on the OS to perform the underlying 2D rendering of a collection of complex graphical objects for output devices. Application frameworks exist on which 2D applications can use application programming interfaces (APIs) to accomplish their programming tasks. However, there is currently no method of doing so in 3D. It is very costly to expect OS enterprise stack applications to generate 3D data since current 3D hardware device surface input is not supported by the 2D OS that the applications were developed for. In some cases it is not possible to re-compile existing 2D legacy applications.
In java based systems which utilize a java virtual machine (JVM), these problems are even more obvious. Java systems permit a wider range of topographical attributes to be associated with their objects and provides the command structure to implement these additional attributes. However, since current java systems operate with a traditional native, platform-specific OS, they do not support extended topographical interfaces. Each present system utilizes a specific hardware and/or application modules for the particular closed system. These modules cannot be extended to other platforms and/or applications and support only the preprogrammed topographical attributes.
A list of the problems currently being faced within the computer industry with respect to the prior efforts to implement 3D and topographical systems within java based systems includes:
(1) Legacy JVM""s today are aware in 2-D fashion only (x,y);
(2) JVM""s today, which require a topographical input/output device, have to coexist with existing I/O devices (display, audio, keyboard and mouse) and not negatively impact performance;
(3) JVM""s today need to incorporate a closed loop control feedback system in order to support a topographical device (frameworks are needed to generically handle 3D bi-directional feedback from the user and display 3D topographical data;
(4) There are problems in converting legacy 2D information and 3D topographical information into topographical device specific information; and
(5) Needs of topographical input and output devices are different than typical devices attached to JVM operating system.
Some of the expanded needs are (a) the ability to zoom in/out on a co-ordinate space, (b) synchronize movements right/left in fixed increments that do not match the OS dimensions (screen, application programming models such as AWT), (c) division of the display area into clipping regions necessary in order to convert a high resolution device into a low resolution device, (d) division of the topographical play surface into regions so that different co-ordinate spaces can be displayed (this is also useful for providing additional content on the play area such as a button used for topographical control), (e) conversion of graphical elements such as drawings primitives, colors, and text into the third dimension (also z ordering of windows to cumulatively create the third dimension), (f) mapping third dimension into a topographical depth (xbits/topographical characteristics unit if measurement), (g) provide the desktop data necessary for replaying primitive graphics calls by the topographical device manager for each topographical device, and (h) applying topographical characteristics (for example, height, temperature, intensity, roughness, compression, springiness) to drawing primitives.
In light of these limitations within the existing systems, the present invention recognizes that a need exists for a unified system for supporting 3D and topographical information within a computer system. It would be desirable to have an OS which permits implementation of 3D and topographical support. It would be further desirable for such an OS to be application and platform independent and associated with a JVM to permit topographically aware object-oriented environment.
In view of the foregoing, it is therefore one object of the present invention to provide an improved computer system.
It is another object of the present invention to provide an improved computer system, which provides for topographical interfacing.
It is yet another object of the present invention to provide an improved computer system, which supports platform and application independent topographical interfacing utilizing topographical aware JVM enabled operating system (OS).
In accordance with a preferred embodiment of the method and system of the present invention, a topographical aware Operating System (OS) which is platform and application independent is provided. The OS contains a 2D to 3D rendering converter within a topographical framework, a java virtual machine (JVM) interface and topographical application programming interface (APIs). The OS operates within a 2D environment and is capable of receiving input from a topographical input device and generate topographical output to a topographical or 2D output device. More specifically, the OS is enabled to render 2D input to 2D output, 2D input to 3D output, 3D input to 2D output, and 3D input to 3D output, each of which is not dependent (independent) on any application layer. The OS further contains means for converting topographical input signals into topographical output, independent of which platform or application is running on the data processing system. In the preferred embodiment, the JVM operates within an OS environment and the topographical attributes enabled within the JVM environment include height, temperature, roughness, intensity, color, illumination, springiness etc. In another preferred embodiment, a topographical selection graphical user interface (GUI) is provided by which the OS may dynamically select attributes, etc. or allow user selection of particular attributes to apply to an object.
All objects, features, and advantages of the present invention will become apparent in the following detailed written description.